1. Technical Field
The present invention relates to wireless communications, and, more particularly, to management of wireless communications between Evolution Data Optimized (EV-DO) access nodes and EV-DO access terminals.
2. Description of Related Art
a. EV-DO Generally
Many people use mobile stations, such as cell phones and personal digital assistants (PDAs), to communicate with cellular wireless networks. These mobile stations and networks typically communicate with each other over a radio frequency (RF) air interface according to a wireless communication protocol such as Code Division Multiple Access (CDMA), perhaps in conformance with one or more industry specifications such as IS-95 and IS-2000. Wireless networks that operate according to these specifications are often referred to as “1xRTT networks” (or “1x networks” for short), which stands for “Single Carrier Radio Transmission Technology.” These networks typically provide communication services such as voice, Short Message Service (SMS) messaging, and packet-data communication.
Recently, service providers have introduced mobile stations and wireless networks that communicate using a protocol known as EV-DO, which stands for “Evolution Data Optimized.” EV-DO networks, operating in conformance with industry specification IS-856, provide high rate packet-data service (including Voice over IP (VoIP) service) to mobile stations using a combination of time-division multiplexing (TDM) on the forward link (from the network to mobile stations) and CDMA technology on the reverse link (from mobile stations to the network). Furthermore, some mobile stations, known as hybrid mobile stations or hybrid access terminals, can communicate with both 1x networks and EV-DO networks.
In the EV-DO context, a mobile station is typically referred to as an access terminal, while the network entity with which the access terminal communicates over the air interface is known as an access node. The access node typically includes a device known as a radio network controller (RNC), which is similar to a base station controller (BSC) in 1x networks. The access node also includes one or more base transceiver stations (BTSs) or “Node-Bs,” each of which includes one or more antennas that radiate to define respective wireless coverage areas. Among other functions, the RNC controls one or more BTSs, and acts as a conduit between the BTSs and an entity known as a packet data serving node (PDSN), which provides access to a packet-data network. Thus, when positioned in one of these wireless coverage areas, an access terminal may communicate over the packet-data network via the access node and the PDSN.
b. VoIP Communications
Note that the packet-data communication in which a given access terminal engages over the one or more packet-data networks to which the access node and the PDSN provide access may be of any one of a number of different types. One increasingly-popular type is VoIP communication. This VoIP communication may take the form of phone calls that appear similar or identical to normal voice calls conducted over CDMA networks, for example. This VoIP communication may also or instead take the form of push-to-talk (PTT) communications, known to those in the art. And any other type of VoIP communication may be engaged in by EV-DO access terminals instead of or in addition to the types noted herein.
Furthermore, a given EV-DO access terminal may engage in VoIP communications via an access node, a PDSN, and one or more packet-data networks (such as a service provider's privately-operated packet-data network and/or the Internet, as two examples) with one or more different types of endpoints. Examples of VoIP endpoints include one or more other EV-DO access terminals, one or more other mobile stations, one or more landline-connected telephones, one or more conferences servers, one or more gateways, and/or any other types of suitable VoIP endpoints. In cases of landline telephones, a media gateway may reside between a packet-data network and a telephone network such as the public switched telephone network (PSTN).
c. Session Setup
To initiate connectivity, when powered on in a coverage area of an access node, an access terminal may send what is known as a Universal Access Terminal Identifier (UATI) request to the access node. The access node may respond by granting a UATI to the access terminal in a message known as a UATI response. This UATI response typically contains the granted UATI, which then serves to identify the access terminal to the access node for some period of time.
After acquiring a UATI, the access terminal will typically communicate with the access node over the air interface to set up what is referred to as a “session.” Essentially, an access terminal that has a session with an access node can engage in packet-data communication over the packet-data network to which the access node and the PDSN provide access. Conversely, an access terminal that does not have a session with an access node can not engage in packet-data communication over the packet-data network.
As part of setting up the session, the access terminal sends a connection request to the access node, requesting an air-interface connection. The access node will responsively work to establish the air-interface connection with the access terminal, which involves the access node instructing the access terminal to communicate with the access node over what is known as a traffic channel. This traffic channel takes the form of particular timeslots on the forward link, during which the access node sends data to the access terminal, and a particular CDMA channel on the reverse link, over which the access terminal sends data to the access node.
In addition to establishing the connection with the access terminal, the access node takes a number of other actions, one of which is to validate that the access terminal is authorized to engage in communication via the access node. Another such action is to set up a radio-packet connection between the access node and the PDSN for the access terminal. The access node also facilitates establishment of a data link (e.g., a point-to-point protocol (PPP) connection) between the access terminal and the PDSN, and perhaps assignment (e.g., by the PDSN or by a Mobile-IP home agent) of an IP address to the access terminal.
Once those steps (and perhaps others) are complete, the access terminal has a session with the access node, and can therefore communicate over the packet-data network via the access node and the PDSN. Typically, the air-interface connection is then torn down, freeing up those radio resources for other access terminals. Both the network and the access terminal maintain data pertaining to the rest of what was established, however, including the IP address, radio-packet connection, and data link. This transition from having a traffic channel to not having one is referred to as the access terminal going from active to dormant.
Thereafter, if the access terminal wants to initiate packet-data communication, it sends a connection request to the access node, which will assign a traffic channel to the access terminal. If the access node receives data addressed to the access terminal, the access node would typically page the access terminal, and assign it a traffic channel. The access terminal can then engage in packet-data communication over the packet-data network, using the newly-assigned traffic channel, as well as the previously-established IP address, radio-packet connection, and data link.
Note that an access node may, in a wireless coverage area such as a cell or sector, provide service on one or more carrier frequencies (“carriers”). When service is provided on only one carrier, the access terminal will, by default, communicate over a traffic channel on that carrier. When service is provided on more than one carrier, the access node will select one of those carriers on which to assign a traffic channel to the access terminal. In general, each carrier may occupy a 1.25-MHz-wide band of the RF spectrum. Furthermore, a carrier may actually be a pair of 1.25-MHz-wide bands, in systems that use a frequency-division-duplex (FDD) approach, where access terminals receive on one frequency, and transmit on another.
d. Reverse Noise Rise
Interference can be, and often is, present on a carrier in a sector. In general, on a given carrier in a given sector (i.e. on a given “sector/carrier”), an access node receives transmissions from access terminals that are operating on that sector/carrier. However, the access node often also receives transmissions on that sector/carrier from other access terminals, other devices, and/or any other sources of interference on that frequency.
At a given moment, the sum total of what an access node is receiving on a given sector/carrier is known as the “reverse noise” on that sector/carrier. At regular intervals, and in fact quite frequently (e.g., once for every forward-link timeslot (i.e. once every approximately 1.67 ms)), access nodes compute a value known as “reverse noise rise” (RNR), which is the difference between (i) the reverse noise that the access node is currently detecting and (ii) a baseline level of reverse noise. Thus, the access node computes how far the reverse noise has risen above that baseline.
To determine the baseline, EV-DO networks typically periodically utilize what is known as a silent interval, which may occur on the order of once every five minutes, and last on the order of 40-100 ms, both of which are typically configurable. During the silent interval, access terminals know not to transmit anything to the access node. The access node can then measure whatever else is out there. As such, the baseline corresponds to the amount of reverse noise when the sector/carrier is unloaded (i.e. without any transmitting access terminals). Note that other reverse-link-noise levels could be used as a baseline, other than the unloaded-sector level.
In general, the lower the RNR is at a given moment, the more favorable the RF conditions are for communication between access terminals and the access node at that moment. Correspondingly, the higher the RNR, the less favorable the RF conditions are. Also, a low RNR generally corresponds to a sector/carrier being lightly loaded, in other words that is supporting communications for a relatively low number of access terminals. A high RNR, as one might expect, generally corresponds to a sector/carrier being heavily loaded, in other words that is supporting communications for a relatively high number of access terminals.
e. Reverse Activity Bit (RAB)
Access nodes typically use the calculated value of RNR to, among other things, set what is known as the Reverse Activity Bit (RAB), which is a value that the access node makes equal to 0 or 1, and repeatedly transmits to all the access terminals operating on a given sector/carrier. Note that making the RAB equal to 0 (zero) is known as “clearing” the RAB, while making the RAB equal to 1 (one) is known as “setting” the RAB. As stated above, the access node typically calculates RNR at the same frequency at which it transmits forward-link timeslots, or once every 1.67 ms. The access node typically sets or clears the RAB at this same frequency.
With respect to how the access node chooses whether to set or clear the RAB, if the RNR is above a threshold (the “RNR threshold”), which may be about 5 dB, the access node sets the RAB. If the RNR is below the RNR threshold, the access node clears the RAB. The access node transmits the RAB in a TDM channel—known as the reverse-activity channel—on the forward link. That channel is itself a TDM portion of a forward-link channel known as the Media Access Control channel. Note that the RAB is the same for all access terminals on a sector/carrier. The manner in which those access terminals use the value of the RAB is explained below.
f. Access Terminals Using the RAB Under IS-856, Rel. 0
The initial release of IS-856 is referred to as Release 0 (zero) (Rel. 0), while a subsequent revision is referred to as Revision A (Rev. A). This subsection relates to how EV-DO access terminals use the RAB in EV-DO networks that operate according to Rel. 0, while the next subsection relates to how EV-DO access terminals use the RAB in EV-DO networks that operate according to Rev. A. Note that some EV-DO networks may provide both Rel. 0 and Rev. A service; that is, a given EV-DO network may provide service to access terminals that operate according to Rel. 0, and also to access terminals that operate according to Rev. A.
Under Rel. 0, access terminals can transmit data to access nodes on the reverse link at five different data rates: 9.6 kilobits per second (kbps), 19.2 kbps, 38.4 kbps, 76.8 kbps, and 153.6 kbps. Transmission at these various data rates involves using different types of coding for the data to be transmitted, among other differences. Note that, during a given instance of an access terminal transmitting data to an access node, the access terminal typically starts out using the lowest of those data rates, 9.6 kbps.
Recall that the EV-DO reverse link is essentially a CDMA channel over which the access terminal transmits data to the access node. And the access terminal does so in units of time known as frames, each of which last approximately 26.67 ms, which is the length of time of 16 timeslots on the forward link. And the network is synchronized on CDMA time, such that sets of 16 timeslots on the forward link will be aligned along reverse-link-frame time boundaries.
So, the EV-DO access terminal will transmit its first frame to the access node at 9.6 kbps. And then, for the next frame, the access terminal will stay at that rate, or perhaps transition up to 19.2 kbps. From there, frame by frame for all subsequent frames, the access terminal will transmit at the rate that it is currently using, transition up to the next-higher rate, or transition down to the next-lower rate. Note that rate-setting frequencies other than every frame, such as every four frames, could be used as well.
These (in this example) frame-by-frame decisions to maintain or change the reverse-link data rate are controlled by the RAB and by a table of reverse-link transitional probabilities (RLTPs) that are stored by each access terminal. This RLTP table is typically sent from the access node to the access terminal during the session-setup process described above, though it can also be sent (or updated) as new air-interface connections are made between the access node and the access terminal, or perhaps periodically, or perhaps in response to some other event.
The RLTP table typically contains eight probabilities, each expressed as an integer between 0 and 255, as explained more fully below. The eight probabilities correspond to the eight possible transitions among the five possible data rates. So, the transitional probabilities correspond to transitioning (in kbps) (1) from 9.6 up to 19.2, (2) from 19.2 up to 38.4, (3) from 38.4 up to 76.8, (4) from 76.8 up to 153.6, (5) from 153.6 down to 76.8, (6) from 76.8 down to 38.4, (7) from 38.4 down to 19.2, and (8) from 19.2 down to 9.6.
Typically, when an access terminal is at the start of transmitting a given frame at a given data rate (say, 38.4 kbps), the access terminal checks the RAB. If the RAB is cleared (i.e. equal to 0), the RNR in the sector is not above the RNR threshold, and thus the access terminal knows that it has two options with respect to the next frame: stay at 38.4 kbps or move up to 76.8 kbps. To determine which of those options the access terminal will take for the next frame, the access terminal generates a random integer between 0 and 255, and compares that random integer with the appropriate transitional probability. In this example, the access terminal would compare the random integer with the 38.4-kbps-to-76.8-kbps value.
If the random integer is less than or equal to the 38.4-kbps-to-76.8-kbps table value, the access terminal will transition up to 76.8 kbps for the next frame. If not, the access terminal will stay at 38.4 kbps for the next frame. The table value is thus a representation of a probability, since the integer that the access terminal compares with the table value is randomly generated. If, say, the table value were 255, the access terminal would have a probability of 1.00 (100%) for moving up to the next-higher data rate; if the table value were 0, the access terminal would only have a 1/256 probability of moving up. And so on.
If the RAB is set (again, equal to 1), however, the access node has decided that there is too much reverse noise on the sector/carrier at the moment, and thus the access terminal knows that it has two options with respect to the next frame. Again using 38.4 kbps as an example of the access terminal's current rate, the two options are to stay at 38.4 kbps or move down to 19.2 kbps. To determine which of those options the access terminal will take for the next frame, the access terminal again generates a random integer between 0 and 255, and compares that random integer with the appropriate reverse-link transitional probability. This time, the access terminal would compare the random integer with the 38.4-kbps-to-19.2-kbps value.
As with transitions up to higher data rates, when talking about transitions down to lower data rates, the access terminal checks whether the random integer it generates is less than or equal to the 38.4-to-19.2 table value. If so, the access terminal will transition down to 19.2 kbps for the next frame. If not, the access terminal will stay at 38.4 kbps for the next frame. Again, the table value represents a probability, as the integer that the access terminal compares with the table value is randomly generated. If, the table value were 255, the access terminal would have a probability of 1.00 (100%) for moving down to the next-lower data rate; if the table value were 0, the access terminal would only have a 1/256 probability of moving down. And so on.
g. Access Terminals Using the RAB Under IS-856, Rev. A
As explained above, under Rev. 0, reverse-link data rates are permitted only to increase or decrease by one step at a time (i.e. up to the next-higher data rate or down to the next-lower data rate), controlled by the RAB and the tables of reverse-link transitional probabilities. Under Rev. A, however, a more dynamic, iterative, equation-based approach is utilized, which permits data rates to change more rapidly. This approach is covered in IS-856, Rev. A, which is hereby incorporated herein by reference, in its entirety, as is IS-856, Rel. 0.
Briefly, under Rev. A, the access node still repeatedly transmits a RAB equal to 0 or 1. Each individual access terminal then uses that value to compute what are known as a Quick Reverse Activity Bit (QRAB) and a Filtered Reverse Activity Bit (FRAB). The QRAB is binary (equal to 0 or 1), while the FRAB is a real number having a value anywhere between −1 and 1 inclusive. The QRAB is a short-term, binary indication of loading: a QRAB of 1 is associated with congestion on the sector/carrier, while a QRAB of 0 is associated with non-congestion. The FRAB is more of a long-term, continuous, historical value, where values closer to −1 indicate a lower degree of congestion on the sector/carrier reverse link, while values closer to 1 indicate a higher degree of congestion. Thus, both the QRAB and the FRAB reflect the access terminal's interpretation of the RAB from the access node.
The access terminal then calculates a value known in Rev. A as “T2PInflow.” T2PInflow is an iterative value: prior to each reverse-link transmission, it has a current value, and that current value is one of the inputs into determining its value in the next calculation. Note that the “T2P” prefixes to many of the value and function names in this explanation means “Traffic to Pilot,” as one governing principle that drives the determination of reverse-link data rates under Rev. A is the relative values of (1) the power level that the access terminal is using to transmit on the reverse-link portion of the traffic channel and (2) the power level at which the access terminal is detecting the pilot signal from the access node, as is known in the art.
Rev. A defines two functions called “T2PDn(.)” and “T2PUp(.),” both of which are functions of the current T2PInflow, FRAB, and a filtered value of the serving sector pilot strength. If the access terminal sets QRAB to 1 (corresponding to a relatively congested sector/carrier), then T2PInflow will be decremented by the result of T2PDn(.); if, on the other hand, the access terminal sets QRAB to 0 (corresponding to a relatively non-congested sector/carrier), then T2PInflow will be incremented by the result of T2PUp(.). As with all of the details of these computations, the detailed equations can be found in IS-856, Rev. A.
Under Rev. A, this updated T2PInflow value is then used as one of the inputs in what is referred to as a “token bucket” mechanism, which is used to determine a packet size for the next reverse-link transmission. And it is this packet size that essentially determines the reverse-link data rate at which the access terminal will be transmitting, based on a table that correlates packet sizes to data rates. In general, the token bucket mechanism is used as a regulator, to provide data-rate stability over time, while still permitting some instantaneous deviation.
One of the parameters of the token bucket mechanism is the “BucketLevel.” Using that value, the updated T2PInflow, and the FRAB, the access terminal calculates a value known as “PotentialT2POutflow.” The access terminal also maintains a data queue for outgoing data (i.e. data that is ready and waiting to be transmitted to the access node on the reverse link). The access terminal keeps track of the current size of this data queue in a variable referred to here as the “data queue size.” The access terminal determines the packet size for the next transmission based on PotentialT2POutflow, the data queue size, other constraints and maximum/minimum allowed values, and the access terminal's transmission power.
As stated, the computed packet size essentially determines the reverse-link data rate. Under IS-856, Rev. A, effective reverse-link data rates can range from 19.2 kbps up to 1.84 megabits per second (Mbps). As a final part of the calculation, the access terminal computes a value known as “T2POutflow” (also referred to as “actual T2POutflow”) based on the computed packet size. The access terminal then updates the BucketLevel with the updated T2PInflow value and the newly-calculated (actual) T2POutflow value, so that the BucketLevel will be ready for the next iteration.
h. Conclusion
Thus, as explained, EV-DO access terminals use the value of the RAB in different ways under Rel. 0 and Rev. A of IS-856 for determining their reverse-link data rates. However, under both standards, and perhaps others, access nodes make repeated, periodic broadcasts of the RAB (equal to 0 or 1), and thus make repeated, periodic determinations as to whether to set or clear the RAB prior to each such broadcast.